This invention relates generally to communications and, more particularly, to wireless communications systems.
With the urge to provide multimedia capabilities in mobile communications, there is an increasing need for providing higher bandwidth in a wireless access network. Thus, multi-rate and variable rate services are considered very important features in future wireless systems such as the Universal Mobile Telecommunications System (UMTS) (e.g., see E. Dahlman et al, xe2x80x9cUMTS/IMT 2000 Based On Wideband CDMA,xe2x80x9d IEEE Communications Magazine, September 1998, pp 70-80). In proposed UMTS-based Terrestrial Radio Access (UTRA) FDD (frequency division duplex) systems, different data rates are achieved by using, what is known in the art as, channelization codes with different spreading factors. (As used herein, the term xe2x80x9cdata ratexe2x80x9d applies to any multi-media application that requires packet transport, e.g., a voice packet is transmitted with a particular data rate.)
Channelization codes in UMTS are Orthogonal Variable Spreading Factor (OVSF) codes that preserve the orthogonality between downlink channels of different data rates and spreading factors within a cell. (As known in the art, in wireless communications a geographical region is divided into cells (typically of a hexagonal pattern).) The OVSF codes (hereafter simply referred to as codes) are defined using a code-tree, a portion of which is shown in FIG. 1. As shown in FIG. 1, a particular code is represented as Ci,j, where the subscript i,j, identifies the length spreading factor (SF) and the number of the code, respectively. For example, C2,1 is the first code with a length SF of 2. As such, it can be observed that each level of the code-tree defines a number of codes having a particular length SF. In the context of FIG. 1, for an illustrative chip rate of 4.096 Mcps (millions of chips per second), a mobile data user (user) requiring a data rate of 512 Kbps (thousands of bits per second) will use a code with a spreading factor of 8 (either one of C8,1 through C8,8) while a 64 Kbps user uses a code (further down the tree) with a spreading factor of 64 (either one of C64,1 through C64,64) (not shown).
Unfortunately, all codes within the code-tree cannot be used simultaneously within a cell. In particular, a code can be used in a cell if and only if no other code on the path from the specific code to the root of the tree or in the sub-tree below the specific code is used in the same cell. For example, with reference to FIG. 1, if the code C4,3 is used, then the codes C1,1, C2,2, and all codes corresponding to the children of the node representing the code, C4,3, cannot be used. Thus, the number of available codes depends on how the codes are assigned to each user.
The downlink shared channel (DSCH) concept (e.g., see Tdoc SMG2 UMTS-L1 311/98, xe2x80x9cUTRA FDD Downlink Packet Data Operation with Shared Channelsxe2x80x9d, Nokia) is an attempt to remedy this potential code shortage problem. In DSCH, all codes are shareable, or multiplexed, between users on a frame by frame basis, thus achieving the highest possible multiplexing gain.
In particular, DSCH is a type of transport channel shared by a number of users for data rate transmissions in which the generated traffic is usually bursty and delay insensitive (such as results from web browsing). As such, DSCH only carries data traffic from high-rate users. A user is assigned a temporary code for the DSCH. The assigned code is on a frame-by-frame basis. A user therefore uses the assigned code for at least a full 10 ms (milli-second) frame. Each user who will share the DSCH is assigned a dedicated downlink traffic channel. (This dedicated traffic channel carries Layer 1 information such as pilot, power control bits (TPC) and transport-format combination indicator (TFCI) bits. This channel can also carry higher layer (Layer 2/3) signaling.)
However, we have observed that the above-described code sharing method generates additional Layer 1, 2, and 3 signaling since the code assignments may need to be reshuffled to admit new users. For example, as noted above, the code assigned to a low data rate user eliminates possible assignments of any code on the path back to the root of the code-tree (these are codes with lower length SFs than the assigned code). As such, in order to free up a code (with a lower length SF) for use by a high data rate user, a low rate user may have to be reassigned another code.
Therefore, and in accordance with the invention, a code-tree is partitioned into two parts, or sets: a permanent set and a shared set.
In an embodiment of the invention, a code-tree is partitioned into two sets: a permanent set and a shared set. Those codes in the permanent set are assigned to a user for the duration of a session, or connection. Those codes in the shared set are assigned to users on a frame-by-frame basis using the above-mentioned DSCH channel. Typically, users with low data rate requests (e.g., voice) are assigned codes from the permanent set, and users with high data rate requests are assigned codes from the shared set.
In another embodiment of the invention, the partition boundary between the permanent set and the shared set is dynamically shifted based on traffic conditions.